<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>数字类型</title>
</head>
<body>
<h4>数据类型 – 数字类型</h4>
<p>
JavaScript 中的正数、负数、小数等 统一称为 数字类型
</p>
<p>
特别说明: <br>
JS 是弱数据类型，变量到底属于那种类型，只有赋值之后，我们才能确认 <br>
Java是强数据类型 例如 int a = 3 必须是整数
</p>
<p>
数字可以有很多操作，比如，乘法 * 、除法 / 、加法 + 、减法 - 等等，所以经常和算术运算符一起。 <br>
数学运算符也叫 算术运算符，主要包括加、减、乘、除、取余（求模）。 <br>
+：求和 <br>
-：求差 <br>
*：求积 <br>
/：求商 <br>
%：取模（取余数), 开发中经常作为验证某个数字是否被整除 <br>
</p>
<hr>
<h4>算术运算符执行的优先级顺序</h4>
<p>
同时使用多个运算符编写程序时，会按着某种顺序先后执行，我们称为 优先级。 <br>
JavaScript中 优先级越高越先被执行，优先级相同时以书从左向右执行。 <br>
乘、除、取余优先级相同 <br>
加、减优先级相同 <br>
乘、除、取余优先级大于加、减 <br>
使用 () 可以提升优先级 <br>
总结： 先乘除后加减，有括号先算括号里面的
</p>
<script>
    // 算术运算符 演示
    console.log(1 + 4 * 2) // 遵循先 相差后加减
    console.log(4 / 2 * 2) // 优先级相同 从左向右执行
    console.log(2 % 5 + 4 * 2) // 答案 10

    console.log(4 % 2) // 求余数  0
    console.log(5 % 3) // 求余数  2
    console.log(3 % 5) // 求余数  3


    // 特别介绍一个特殊类型
    // NaN 代表一个计算错误。它是一个不正确的或者一个未定义的数学操作所得到的结果
    // NaN 是粘性的。任何对 NaN 的操作都会返回 NaN
    console.log('pink老师' - 2) // 控制台查看信息 都是 NaN 值
    console.log(NaN - 2)
    console.log(NaN + 2)
    console.log(NaN / 2)
    console.log(NaN == NaN) // 这个比值是 false(假)
    console.log(NaN != NaN) // 这个比值是  true(真)

    // NaN 是 not a number 的缩写
</script>

</body>
</html>